1. Field of the Invention
This invention relates generally to computer software and, more particularly, to a method for describing computer hardware.
2. Description of the Related Art
Hardware description languages (HDLs) typically have “primitives” describing “wires” and “modules.” Verilog is an example of a conventional hardware description language (HDL). However, modern computer hardware design is typically done using “busses” and not “wires.” Verilog and other conventional Hardware description languages (HDLs) are typically poorly suited to modern computer hardware design done using “busses” and not “wires.”
Conventional schematic-based hardware descriptions typically have a poor, but still useful, idea of a “bus.” The typical bus as described in a conventional schematic consists of a bunch of signals with a single name and differing bit numbers. Some conventional schematics packages let a bunch of different-named signals be combined, and later separated, by special combining and separating symbols. The user is typically responsible for making sure that the right data is put together and split apart. This manual process of making sure that the right data is put together and split apart is error-prone and is typically awkward enough that it is almost never used.
Conventional hardware description language (HDL) descriptions of hardware are largely replacing schematic-based hardware descriptions. However, the hardware description language (HDL) descriptions of hardware are typically as limited as the most limited schematics-based schematics capture hardware descriptions. The hardware description language (HDL) descriptions of hardware similarly only allow busses to be made up of like-named signals with different bit numbers. Modem computer hardware design is very constrained by these shortcomings in hardware description language (HDL) descriptions of hardware.
The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.